#include <my_header.h>

/* Usage: ./2_ls_dirent pathname */
int main(int argc, char *argv[]){                                  
    ARGS_CHECK(argc, 2);
    DIR *dirp = opendir(argv[1]);
    ERROR_CHECK(dirp, NULL, "opendir");

    struct dirent *pdirent; // 生成一个结构体指针
    // 循环读目录项并打印目录信息，循环结束的条件是返回值为NULL 
    while((pdirent = readdir(dirp))!= NULL)
    {
        //inode编号、目录项大小、文件类型、文件名信息
        printf("inode num = %lu, reclen = %hu, type = %u,name = %s\n",
               pdirent->d_ino,  // 64位平台，inode64为无符号整型
               pdirent->d_reclen,   // 无符号短整型
               pdirent->d_type,     // 无符号整型
               pdirent->d_name);    // 以字符串打印
    }

    closedir(dirp);
    return 0;
}


